home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TPUG - Toronto PET Users Group
/
TPUG Users Group CD
/
TPUG Users Group CD.iso
/
C64
/
G-Games
/
(c)ge.d64
/
octopus.c
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2007-02-04
|
4KB
|
182 lines
2 PRINT"[147]":POKE53280,0:POKE53281,0
4 GOSUB1000
5 DIMB%(4,4),C%(4),D%(4)
7 XX=0
10 FORI=0TO4:FORJ=0TO4:READA:B%(I,J)=A:NEXTJ,I
11 DATA10,14,17,21,27
12 DATA10,14,17,21,26
13 DATA10,14,17,21,25
14 DATA9,14,17,21,24
15 DATA8,13,16,21,23
16 FORI=0TO4:D%(I)=5:NEXTI
17 FORI=0TO4:C%(I)=1:NEXTI
20 PRINT"[147]"
23 PRINT"[144] [209] [209] [209] [209] [209]"
24 PRINT" [209] [209] [209] [209] [209]"
25 PRINT" [209] [209] [209] [209] [209]"
30 PRINT" [209] [209] [209] [209] [209]"
35 PRINT" [209] [209] [209] [209] [209]"
40 PRINT" [209] [209] [209] [209][209]"
45 PRINT" [169] [223][169] [223][169] [146]"
50 PRINT" [169] [146]"
55 PRINT" [169] [159][218][144] [159][218][144] [146]"
60 PRINT" [159][218][144] [159][218][144] [146]"
65 PRINT" [146]"
70 PRINT" [223] [146][169]"
75 PRINT" [223] [146][169]"
80 PRINT" [223] [146][169]"
85 PRINT" [223] [146][169]"
90 PRINT""
95 PRINT" [159][223] [223][146]"
100 PRINT" [144][169] [146]"
101 PRINT" [159] [144] [146]"
102 PRINT" [159] [144][146][169]"
103 V=53248
104 S=0
105 PRINT""TAB(30)"SCORE";S
107 POKE(V+31),0
110 POKEV+21,2
120 POKEV+40,3
130 POKE2041,13
135 FORI=0TO62:READQ:POKE832+I,Q:NEXT
136 DATA0,0,0,0,0,0,0,48,0,0,120,0,0,120,0,0,48,0,0,48,0,0,120,0
137 DATA0,120,0,0,120,0,0,112,0,0,112,0,255,255,255,127,255,254,63,255,252
138 DATA31,255,248,15,255,240,7,255,254,3,255,196,1,255,128,0,0,0
139 S=0
140 X=26:D=1
145 GETTD$:P=PEEK(203)
146 IFP=37ANDX<250THENX=X+8
147 IFP=29ANDX=<250ANDX>26THENX=X-8
148 IFX=250THENGOSUB600
149 IFX=26ANDD=0THEND=1
150 POKEV+2,X
160 POKEV+3,60
161 XX=XX+1
162 IF LL=1ANDXX<4THENGOTO145
163 IF LL=2ANDXX<2THENGOTO145
164 XX=0
170 GOTO240
240 A=INT(RND(1)*5+1)
245 A=A-1
250 IFC%(A)=1THEND%(A)=D%(A)-1
255 IFC%(A)=1GOTO300
260 IFC%(A)=0THEND%(A)=D%(A)+1
262 IFC%(A)=0ANDD%(A)=4THENC%(A)=1
265 IFC%(A)=0GOTO500
270 REM
275 GOTO145
280 IFD%(A)=0GOTO400
300 OND%(A)+1GOTO350,340,330,320,310
310 POKE(1304+B%(4,A)),81
312 POKE(55576+B%(4,A)),0:GOTO270
320 POKE(1264+B%(3,A)),81
322 POKE(55536+B%(3,A)),0:GOTO270
330 POKE(1224+B%(2,A)),81
332 POKE(55496+B%(2,A)),0:GOTO270
340 POKE(1184+B%(1,A)),81
342 POKE(55456+B%(1,A)),0:GOTO270
350 POKE(1144+B%(0,A)),81
352 POKE(55416+B%(0,A)),0
354 C%(A)=0
400 IFD%(0)=0AND(X=98ORX=90ORX=106)THENGOSUB700
410 IFD%(1)=0AND(X=130ORX=122ORX=138)THENGOSUB700
420 IFD%(2)=0AND(X=154ORX=146ORX=162)THENGOSUB700
430 IFD%(3)=0AND(X=186ORX=178ORX=194)THENGOSUB700
440 IFD%(4)=0AND(X=234ORX=226)THENGOSUB700
500 OND%(A)+1GOTO550,540,530,520,510
510 POKE(1304+B%(4,A)),32
512 POKE(55576+B%(4,A)),0
514 GOTO275
520 POKE(1264+B%(3,A)),32
522 POKE(55536+B%(3,A)),0
524 GOTO275
530 POKE(1224+B%(2,A)),32
532 POKE(55496+B%(2,A)),0
534 GOTO275
540 POKE(1184+B%(1,A)),32
542 POKE(55456+B%(1,A)),0
544 GOTO275
550 POKE(1144+B%(O,A)),32
552 POKE(55416+B%(0,A)),0
554 GOTO275
600 IFD=1THENS=S+20
601 PRINT""TAB(35);S
602 IFS=100 GOTO650
604 D=0
605 RETURN
650 PRINT"[147][154] ON BEHALF"
655 PRINTTAB(15)"OF ANDRONOMEA"
660 PRINTTAB(17)"THANKS"
665 FORT=1TO5000:NEXT
670 GOTO702
700 PRINT"OVER[144] [146]"
701 GOSUB710
702 POKEV+21,0:RESTORE
703 PRINT"[147][154] TO PLAY AGAIN HIT Y/N"
704 GETZ$:IFZ$=""GOTO704
705 IFZ$="N"THENPRINT"[147]":END
706 IFZ$="Y"THEN RUN2
710 S=54272
720 FORL=STOS+24:POKEL,0:NEXT
725 POKES+5,9:POKES+6,0
730 POKES+24,15
740 READHF,LF,DR
750 IFHF<0THENRETURN
760 POKES+1,HF:POKES,LF
770 POKES+4,17
780 FORT=1TO.8*DR:NEXT
790 POKES+4,16:FORT=1TO50:NEXT
795 GOTO740
800 DATA45,198,750,45,198,750
810 DATA45,198,500,51,97,250
820 DATA57,172,750
830 DATA28,214,500,25,177,250
840 DATA28,214,500,30,63,250
850 DATA34,75,1500
855 DATA45,198,250,45,198,250,45,198,250
860 DATA34,75,250,34,75,250,34,75,250
865 DATA28,214,250,28,214,250,28,214,250
870 DATA22,227,250,22,227,250,22,227,250
875 DATA68,149,500,61,126,250
880 DATA57,172,500,51,97,250
885 DATA45,198,1500
890 DATA-1,-1,-1
900 END
1000 A$="*** ** *** *** *** * * **":X=LEN(A$):Z$="":GOSUB1100
1010 A$="* * * * * * * * * * *":X=LEN(A$):Z$="":GOSUB1100
1020 A$="* * * * * * *** * * **":X=LEN(A$):Z$="":GOSUB1100
1030 A$="* * * * * * * * * *":X=LEN(A$):Z$="":GOSUB1100
1040 A$="*** ** * *** * *** **":X=LEN(A$):Z$="":GOSUB1100
1045 PRINT"[147][154]"
1050 POKE53281,6:POKE53280,14
1055 PRINT:PRINTTAB(10)"ANOTHER GAME"
1060 PRINT:PRINTTAB(15)"BY"
1070 PRINT:PRINTTAB(14)"METZ"
1080 FORX=1TO2000:NEXT
1090 PRINT"[147]"
1092 GOSUB1200
1094 RETURN
1100 S=54272
1110 POKE54296,15:POKE54277,18:POKE54278,240
1120 POKE54276,33
1130 FORI=1TOLEN(A$):POKE54273,I+40
1140 PRINT""Z$;LEFT$(A$,I)
1150 X=X-1:NEXT:FORG=4TO0STEP-1:POKE54296,G:NEXT:POKES+4,32
1160 FORE=STOS+28:POKEE,0:NEXT:RETURN
1200 PRINT"PERSEUS IS TRYING"
1210 PRINT"TO HELP ANDRONOMEA"
1215 PRINT"TO DO THIS HE MUST"
1217 PRINT"REACH THE MAGIC BOX"
1220 PRINT"5 CROSSINGS ARE NEEDED"
1222 PRINT:PRINT"BUT"
1224 PRINT:PRINT"NEPTUNE HAS PLACED"
1225 PRINT"AN OBSTACLE"
1227 PRINT:PRINT"THE OCTOPUS"
1230 PRINT"HIT 'H' TO MOVE LEFT"
1240 PRINT"HIT 'K' TO MOVE RIGHT"
1245 PRINT"LEVEL1,2,OR3
1247 [133]LL:[139]LL[178]1[176]LL[178]2[176]LL[178]3[167] [142]
1250 [153]:[153]"HIT RETURN TO CONTINUE"
1260 [161]R$:[139]R$[178][199](13)[167][142]
1270 [137]1260